package cn.iune.erp.accounting;

import java.util.Map;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public interface IAccountingService {


	Map<String, Object> accountVoucherConfirm(String rowID, String tUsercode, String tUsername, String userId,
			String employeeNo, String employeeName);

	Map<String, Object> accountVoucherActive(String rowID);

	//审核出入库单（改造为主从表不关联审核）
	Map<String, Object> accountVoucherAgreeIt(String rowID, String tUsercode, String tUsername, String userId,
			String employeeNo, String employeeName);

	Map<String, Object> accountVoucherUnAgree(String rowID);

	int accountVoucherClose(String rowID);

	int accountVoucherOpen(String rowID);

	void afterInsert(AccountVoucherDetail obj);

	void beforeDelete(String fID);

	JSONObject accountingNext(String yearNo, String periodNo, String userId, String enterpriseNo);

	JSONObject accountingInitial(String yearNo, String periodNo, String userId, String enterpriseNo);

	JSONObject bookkeeping(String yearNo, String periodNo, String[] voucherNos, String rUsercode, String rUsername,
			String userId, String enterpriseNo);

	JSONObject bookkeeping(String voucherNo, String rUsercode, String rUsername, String userId, String enterpriseNo);

	JSONObject accountingDelete(String yearNo, String periodNo, String enterpriseNo);

	JSONObject accountingInitSubmit(String yearNo, String periodNo, String enterpriseNo);

	JSONObject accountingInitActive(String yearNo, String periodNo, String enterpriseNo);

	int formalKJPZ(AccountVoucher accountVoucher, String cUsercode, String cUsername, String userId);

	JSONObject formalKJPZ(String fID, String cUsercode, String cUsername, String userId);

	JSONObject automaticEntry(String origin, String originName, String originNo, String billType, String billTypeName,
			int direction, int attachQuantity, String currency, String currencyLabel, String comments,
			JSONArray entries, String cUsercode, String cUsername, String userId, String employeeNo,
			String employeeName, String enterpriseNo, String enterpriseName);

	AccountVoucher insert(String origin, String originName, String originNo, String systemCode, String billType,
			String billTypeName, int direction, int attachQuantity, int flowType, String comments, JSONArray entries,
			int formalFlag, String cUsercode, String cUsername, String userId, String employeeNo, String employeeName,
			String enterpriseNo, String enterpriseName);


}